package com.portalito.android.actividad;

import java.util.ArrayList;

import com.portalito.android.AdaptadorGenerico;
import com.portalito.android.R;
import com.portalito.android.dto.Proveedor;
import com.portalito.android.tarea.SincronizadorOrdenesCompra;
import com.portalito.android.tarea.SincronizadorOrdenesCompra.SincronizadorOrdenesCompraListener;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;

public class ProveedorListaActividad extends ActividadAuth implements SincronizadorOrdenesCompraListener {
	
	private static String TAG = "ProveedorListaActividad";
	
	private ListView proveedorListView;
	private ProveedorAdapter adapter;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.lista);
		
		TextView listaTextView = (TextView) findViewById(R.id.listaTextView);
		listaTextView.setText("Listado de Proveedores");
		
		Button almacenListaButton = (Button) findViewById(R.id.listaButton);
		almacenListaButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				startActivity(new Intent(ProveedorListaActividad.this, MenuActividad.class));
			}		
		});
		
		Button proveedorTodosButton = (Button) findViewById(R.id.listaTodosButton);
		proveedorTodosButton.setOnClickListener(new OnClickListener() {
			public void onClick(View v) {
				app.setUsuarioProveedor(new Proveedor("*"));
				SincronizadorOrdenesCompra sincronizador = new SincronizadorOrdenesCompra(ProveedorListaActividad.this, ProveedorListaActividad.this);
				sincronizador.execute();
			}		
		});
		
		ArrayList<Proveedor> proveedores = app.obtenerProveedores();
		
		if(proveedores.isEmpty()) {
			toast(this, "No se pudieron encontrar proveedores!");
		}
		
		adapter = new ProveedorAdapter(this, R.layout.fila);
		adapter.addCollection(proveedores);
		
		proveedorListView = (ListView) findViewById(R.id.listaListView);
		proveedorListView.setOnItemClickListener(new OnItemClickListener() {

			public void onItemClick(AdapterView<?> arg0, View arg1, int position, long arg3) {
				Log.d(TAG, "Click en un proveedor!");
				Proveedor proveedor = (Proveedor) adapter.getItem(position);
				app.setUsuarioProveedor(proveedor);
				SincronizadorOrdenesCompra sincronizador = new SincronizadorOrdenesCompra(ProveedorListaActividad.this, ProveedorListaActividad.this);
				sincronizador.execute();
			}
		});
		
		proveedorListView.setAdapter(adapter);
	}
	
	private class ProveedorAdapter extends AdaptadorGenerico {
		
		public ProveedorAdapter(Context context, int textViewResourceId) {
			super(context, textViewResourceId);
		}

		@Override
		protected void populate(View view, int position) {
			Proveedor proveedor = (Proveedor) getItem(position);
			TextView filaTextView = (TextView) view.findViewById(R.id.filaTextView);
			filaTextView.setText(proveedor.getNombre());
		}		
	}

	public void onFinish() {
		startActivity(new Intent(ProveedorListaActividad.this, MenuActividad.class));
	}
}
